1
ハッピーな状態を超えて:例外の扱い方
AI035Lesson 5
00:00

Rubyでは、 ハッピーな状態を超える とは、直線的な論理から防御的な姿勢へと移行することを意味します。ここで失敗は、プログラムの終了という悲劇的な出来事ではなく、 一級のオブジェクト 一級のオブジェクトとして扱われます。

1. 例外の階層

Rubyは、 図8.1に示される明確な例外の階層をあらかじめ定義しています。すべてのエラーはこのツリー内のクラスのインスタンスであり、 Exception ルートから始まります。このツリーを理解することは非常に重要です。アプリケーションレベルのエラーは一般的に StandardErrorから派生しますが、システムレベルの障害(例: NoMemoryError)は直接 Exceptionから派生します。

ExceptionSignalExceptionScriptErrorNoMemoryErrorStandardErrorRuntimeErrorArgumentError

2. エラーをデータオブジェクトとして扱う

低レベル言語のようにエラーが単なる戻り値の場合とは異なり、Rubyでは コンテキストをパッケージ化するメッセージ文字列や実行バックトレースを含む情報が正式なオブジェクトにまとめられます。これにより開発者はランタイムでの中断を、継承を通じて確認・管理可能なデータとして扱うことができます。

アーキテクチャ上の意図
この階層は、捕獲すべきではない致命的なシステム障害(例:信号など)と、回復可能なアプリケーションエラー(StandardError)を区別しています。
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>